Position sensorless control algorithm for AC machine

ABSTRACT

A control system for an electric motor having a stator and rotor including an inverter for providing power to the electric motor, a controller for controlling the inverter, a low speed control block to estimate the rotor angular position using stator current components operating in the controller, a high speed control block to estimate the rotor angular position using stator current components and stator flux position operating in the controller, a transition switch in the controller to vary operation between the low speed control block and the high speed control block, and where the inverter is controlled by six step operation.

TECHNICAL FIELD

[0001] The present invention relates to the control of electric motors. More specifically, the present invention relates to a method and apparatus for position sensorless control of an electric motor.

BACKGROUND OF THE INVENTION

[0002] Traditional motor control systems normally include a feedback device or position sensor such as a resolver or encoder to provide speed and position information for a motor. Feedback devices and associated interface circuits increase the costs of a motor control system, and these costs may become prohibitive in high volume applications such as automotive applications. Additionally, a position sensor and its associated wiring harness increase the complexity and assembly time of an electric drive system in a vehicle.

[0003] Electric vehicles powered by fuel cells, batteries and hybrid systems that include electric motors are becoming more common in the automotive market. As production volumes for electric vehicles increase, the cost of feedback devices and associated interface circuits will become significant. Automakers are under intense market pressure to cut costs and reduce the number of parts for a vehicle. The removal of a feedback device for an electric motor control system will lead to significant cost reductions for an electric vehicle.

[0004] Hybrid electric and electric vehicles today utilize numerous electric motor control technologies such as the vector control of electric motors. A vector motor control scheme is a computationally intensive motor control scheme that maps the phase voltages/currents of a three-phase motor into a two-axis coordinate system. The structure used to excite an electric motor using a vector control scheme is a typical three-phase power source inverter including six power transistors that shape the output voltage to an electric motor. Vector control requires rotor position information, which is normally obtained via a feedback device or position sensor. The objective of the position sensorless control is to obtain the rotor position information utilizing electromagnetic characteristics of an AC machine, eliminating the position sensor and its associated interface circuits.

SUMMARY OF THE INVENTION

[0005] The present invention is a method and apparatus for a sensorless control system used in electric and hybrid electric vehicle powertrain applications. The sensorless motor control system of the present invention includes a low-speed angular position estimation method, an initial rotor polarity detection method, a transition algorithm between low and high speed methods, a modified Gopinath observer, a field weakening method, and/or six step operation.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006]FIG. 1 is a block diagram of a control system in the present invention;

[0007]FIG. 2 is a vector diagram illustrating possible orientation frames for control of the present invention;

[0008]FIG. 3 is a block diagram of a modified Gopinath observer used in the present invention;

[0009]FIG. 4 is a block diagram of a controller used for six step operation in the present invention; and

[0010]FIG. 5 is a state flow diagram for transition into and out of six step operation.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0011]FIG. 1 is a diagrammatic drawing of a preferred embodiment of a control system 10 of the present invention. The control system 10 is illustrated as a sequence of block diagrams that represent software executed in a controller, microprocessor, or similar device to control an electric motor 12. In the preferred embodiment of the present invention, the controller is a vehicle powertrain controller controlling the electric motor 12, but any other motor control application is considered within the scope of the present invention. The electric motor may comprise motor technologies such as AC machines, synchronous reluctance motors, induction motors and interior permanent magnet motors, but is not limited to such. The input to the control system is a torque command T_(e) generated by the vehicle controller. The torque command T_(e) is processed by a optimum torque/amperage calculation block 14 to generate a corresponding stator current command I_(s) and current angle command β required to develop the desired electromagnetic torque in the motor 12. A field weakening stator flux λ_(fw) is generated at field weakening block 15 based on the measured DC link voltage V_(dc) and rotor angular velocity ω_(r). Block 16 will modify the commands λ and δ if the stator flux command X exceeds the field weakening stator flux command λ_(fw).

[0012] The stator current command I_(s) and current angle command β generated at bock 14 are passed to a stator flux and torque angle calculation block 16. Block 16 processes the commanded stator current I_(s) and current angle command β and decomposes it into the stator flux command λ and torque angle command δ to provide the maximum torque for the given stator current amplitude.

[0013] Summing junction 18 subtract the feedback stator flux λ_(fb) from the stator flux command λ to generate an error. Summing junction 20 subtracts the feedback torque angle δ_(fb) from the torque angle command δ_(fb) to generate an error. The error generated by summing junction 18 is processed by Proportional Integral (PI) control block 22 to generate a control output. The error generated by summing junction 20 is processed at multiplication block 24 where it is multiplied by the feedback stator flux λ_(fb). The output of block 24 is processed at proportional control block 26.

[0014] The output of PI control block 22 is summed at summing junction 28 with the stator resistance voltage drop decoupling term R_(s)I_(f) to produce the f-axis voltage command V_(f). The output of proportional control block 26 is summed at summing junction 30 with the τ-axis decoupling term (stator resistance voltage drop plus speed voltage) ω_(r)λ_(fb)+R_(s)i_(τ) to produce the τ-axis voltage coomand V_(τ). V_(f) and V_(τ) are processed at the rotating to stationary frame transformation block 32 using the estimated stator flux angular position θ_(f) to convert the stator flux reference frame voltage commands V_(f) and V_(τ) to the stationary frame voltage commands V_(α1) and V_(β1). High frequency injection signals V_(α) _(—) _(inj) and V_(β) _(—) _(inj) are added at summing junctions 34 and 36 to the stationary frame voltage commands V_(α1) and V_(β1) to produce final voltage commands V_(α) and V_(β) that generate the actual phase voltage commands applied to the electric motor 12. The voltage source inverter 38 processes the final voltage commands V_(α) and V_(β) using a two-phase to three-phase transformation to generate the actual three-phase voltages to be applied to the motor 12.

[0015] The phase currents are measured and processed by a three-phase to two-phase transformation block 40. The outputs of the block 40 are stationary frame currents I_(α) and I_(β). A stationary to rotating frame transformation block 42 uses the stationary frame currents I_(α) and I_(β) and the estimated rotor angular position θ_(f) to generate stator flux reference frame feedback currents I_(f) and I_(τ).

[0016] The present invention further includes position sensorless control of the machine that includes: a low speed rotor angular position estimation method/observer at block 44; an initial rotor polarity detection method at block 46; a high speed rotor angular position estimation method/observer at block 48; a modified Gopinath observer block 50; and a transition switch 54 to seamlessly merge the low and high speed estimation methods.

[0017] Block 44 of FIG. 1 represents the low speed estimation method of the present invention. The low speed method 44 uses stationary reference frame stator current components I_(α) and I_(β) to estimate the rotor angular position θ_(r) _(—) _(low). Similarly, the high speed method 48 uses stationary reference frame stator current components I_(α) and I_(β) and estimated stator flux position θ_(f) to estimate the rotor angular position θ_(r) _(—) _(high). The switch 54 selects appropriate rotor angular position θ_(r) based upon estimated rotor speed.

[0018] The modified Gopinath observer 50 processes θ_(r), the stationary frame voltages V_(α) and V_(β), and stationary reference frame currents I_(α) and I_(β). The modified Gopinath observer 50 computes the estimated stator flux angle θ_(f), the feedback stator flux λ_(fb), and the feedback torque angle flux δ_(fb).

[0019] In the preferred embodiment of the present invention, the d-axis inductance will be higher than the q-axis inductance, and the machine magnet north pole is oriented in the (−) q-axis direction. However, the proposed control scheme will still be valid if the machine q-axis inductance is higher than the d-axis inductance. FIG. 2 is a vector diagram showing possible orientation frames for control. The α and β axes are used for the stationary reference frame control. In the stationary reference frame control variables are the AC time varying signals. It is preferable to use a rotating reference frame for control, where the control variables are DC quantities. The synchronous reference frame (rotor-oriented reference frame, or d-q frame) and the stator flux reference frame (f-τ reference frame) are both rotating reference frames with DC control variables in steady state.

[0020] For a highly saturated machine, the d-q frame voltage equations have bi-directional cross coupling terms, which can limit synchronous current controller bandwidth. Equation (1) below shows the stator voltage equations in the d-q reference frame illustrating the cross-coupling effects. $\begin{matrix} \begin{matrix} {v_{ds}^{e} = {{r_{s}i_{ds}^{e}} + {L_{d}^{\prime}\frac{i_{ds}^{e}}{t}} + {i_{ds}^{e}\frac{\partial L_{d}}{\partial i_{qs}^{e}}\frac{i_{qs}^{e}}{t}} - {\omega_{r}\lambda_{qs}^{e}}}} \\ {v_{qs}^{e} = {{r_{s}i_{qs}^{e}} + {L_{q}^{\prime}\frac{i_{qs}^{e}}{t}} + {i_{qs}^{e}\frac{\partial L_{q}}{\partial i_{ds}^{e}}\frac{i_{ds}^{e}}{t}} + {\omega_{r}\lambda_{ds}^{e}}}} \end{matrix} & (1) \end{matrix}$

[0021] In Equation (1), the last two terms in each voltage equation are cross-coupling terms. Since the d-axis inductance is much larger than the q-axis inductance, the time constant in the d-axis is much longer than that in the q-axis. Any disturbance introduced into the d-axis voltage equation due to the cross-coupling terms will have minimal effect on the d-axis current regulation due to the long time constant. However, the disturbance introduced by the cross-coupling terms into the q-axis voltage equation will have a significant effect on the q-axis current regulation. As a result, attempting to increase the current regulator bandwidth will result in unstable operation. To overcome these limitations, it is desirable to change the controller reference frame to the stator flux reference frame (f-τ reference frame). The machine equations in the stator flux reference frame can be described as shown in Equations (2) and (3) below: $\begin{matrix} {\frac{\lambda}{t} = {v_{f} - {r_{s}i_{f}}}} & (2) \\ {{\lambda \quad \frac{\delta}{t}} = {v_{\tau} - {r_{s}i_{\tau}} - {\omega_{r}\lambda}}} & (3) \end{matrix}$

[0022] From Equation (2), it can be seen there is no cross-coupling from the τ axis into the f-axis. However, there is uni-directional coupling from the f-axis into the τ-axis. The uni-directional cross-coupling is easy to decouple in the control. For the above reasons, it can be seen that the stator flux oriented control is more suited for this type of machine compared to the rotor flux oriented control.

[0023] The modified Gopinath observer 50 shown in FIG. 3 is used to estimate the stator flux angle θ_(f), the feedback stator flux λ_(fb), and the feedback torque angle δ_(fb). The stationary frame currents I_(α) and I_(β) are input to the observer. Stationary to synchronous reference frame transformation module 60 transforms the stationary frame currents to the synchronous reference frame using rotor angular position θ_(r). The machine current model 62 calculates the stator flux of the machine in the synchronous reference frame. Synchronous to stationary reference frame transformation module 64 transforms the synchronous frame stator flux to the stationary reference frame using rotor angular position θ_(r).

[0024] Stator resistance gain module 66 and summer 68 are used along with the stationary reference frame voltages V_(α) and V_(β) and currents I_(α) and I_(β) to calculate the stationary frame back EMF. The integrator 70 is used to integrate the back EMF to calculate the stator flux based upon the voltage model.

[0025] The current model is more accurate at lower speeds, while the voltage model based calculation is more accurate at higher speeds. Therefore, blocks 72, 74, and 76 are used to smoothly transition the stator flux calculation from current model to voltage model based upon rotor speed. Equation (4) describes how blocks 72, 74, and 76 result in smooth transition between the current model flux estimate λ_(αβ-CM) and the voltage model flux estimate λ_(αβ-VM) as a function of the electrical frequency ω_(θ). The observer characteristic function F(s) is also shown in Equation (4). The setting of module 72 PI gains is shown in Equation (5). Block 76 assures optimal transition trajectory between the current model and voltage model estimated stator flux vectors. Module 80 is used to calculate the stator flux angular position Of using an arctangent function. $\begin{matrix} \begin{matrix} {\lambda_{\alpha \quad \beta} = {{{F(s)} \cdot \lambda_{{\alpha \quad \beta} - {VM}}} + {\left\lbrack {1 - {F(s)}} \right\rbrack \cdot \lambda_{{\alpha \quad \beta} - {CM}}}}} \\ {{F(s)} = {\frac{s^{2}}{s^{2} + {K_{p}s} + K_{i}} \cdot ^{{- j}\quad \alpha}}} \\ {\alpha = {\pi - {\tan^{- 1}\left( \frac{K_{p}\omega_{e}}{K_{i} - \omega_{e}^{2}} \right)}}} \end{matrix} & (4) \end{matrix}$

[0026] where

K_(p){square root}{square root over (2)}·ω_(c)

K_(i)=ω_(c) ²  (5)

[0027] ω_(c)=transition frequency

[0028] The modified Gopinath observer 50 is used to estimate the stator flux angle θ_(f) at all speeds. The appropriate input θ_(r) is automatically selected by the transition switch 54 depending on the rotor speed.

[0029] Field-weakening operation is achieved utilizing module 15. Equation (6) is used to calculate the field-weakening stator flux command based upon DC link voltage and rotor speed. $\begin{matrix} {\lambda_{fw} = \frac{V_{D\quad C} \cdot K_{fw}}{\sqrt{3}\omega_{r}}} & (6) \end{matrix}$

[0030] Under all operating conditions λ_(fw) is being compared to λ. The lower flux command is used by the controller as the final flux reference. If the field-weakening stator flux command λ_(fw) is selected, then command calculation module 16 recalculates optimum torque angle command δ based upon the new flux command λ_(fw) and torque command T_(e).

[0031] The diagram shown in FIG. 4 illustrates the proposed control that allows for torque regulation during six-step operation. During six-step operation, the voltage applied to the stator is fixed. Hence, there is only one degree of freedom in the controller. Torque is controlled by regulating the torque angle δ, which in turn controls the voltage angle α with respect to the d-axis of the synchronous reference frame. FIG. 5 shows a state flow diagram that describes the transition into and out of six-step operation.

[0032] Referring to FIG. 4, the switch 100 transitions between normal operation and six-step operation. During normal operation, the diagram in FIG. 1 generates the stationary frame voltage commands V_(α1) and V_(β1). When the variable Flag_six becomes true, the voltage commands V_(α1) and V_(β1) are supplied by the six-step control module 102.

[0033] The six-step control module 102 regulates the torque angle δ, which in turn controls the voltage angle applied to the machine. Torque angle command δ is compared to torque angle feedback δ_(fb) using summing junction 104, whose output is fed to PI regulator 106. The PI regulator initial state is set to provide seamless transition into and out of six-step operation. The feedforward voltage angle calculation module 108 calculates the feedforward voltage angle α_(ff) for faster dynamic performance. The summer 110 adds the PI regulator output and the feedforward voltage angle α_(ff) to generate the final voltage angle α. The voltage angle α is added to the rotor angular position θ_(r) using summing junction 112 to produce the stationary frame voltage angle. Block 114 utilizes the output of summing junction 112 and the maximum available voltage (six-step voltage) to generate the command voltages V_(α1) and V_(β1).

[0034]FIG. 5 details the state flow diagram describing the setting of transition flag Flag_six in FIG. 4. The entire flow diagram is executed every sample period. Decision block 120 compares the actual rotor speed ω_(r) with a predefined minimum threshold speed ω_(rth). If the rotor speed is less than the predefined minimum threshold speed, Flag_six is set to zero (normal stator flux oriented control described in FIG. 1) at block 122. Otherwise, decision block 124 is used to compare the applied stator voltage V_(m) to a predefined maximum threshold voltage V_(th). If the applied stator voltage is less than the V_(th), then Flag_six is set to zero at block 122. Otherwise, Flag_six is set to 1 (six-step operation) at block 126. The control remains in this mode of operation until the condition of decision block 130 is evaluated true. Block 130 detects the condition where the estimated stator flux exceeds the commanded stator flux. If TRUE, there is sufficient voltage available to exit six-step operation and return to normal stator flux oriented control.

[0035] It is to be understood that the invention is not limited to the exact construction illustrated and described above, but that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims. 

1. A control system for an electric motor having a stator and rotor comprising: an inverter for providing power to the electric motor; a controller for controlling said inverter; a low speed control block to estimate the rotor angular position using stator current components operating in said controller; a high speed control block to estimate the rotor angular position using stator current components and stator flux position operating in said controller; a transition switch in said controller to vary operation between said low speed control block and said high speed control block; and wherein said inverter is controlled by six step operation.
 2. The control system of claim 1 wherein said electric motor is an induction motor.
 3. The control system of claim 1 wherein said electric motor is an interior permanent magnet motor.
 4. The control system of claim 1 wherein said electric motor is a synchronous reluctance motor.
 5. The control system of claim 1 wherein said electric motor is a three-phase motor.
 6. The control system of claim 1 further comprising a Gopinath observer.
 7. The control system of claim 1 wherein said transition switch operates said first motor speed control block below ten percent of rated machine speed.
 8. The control system of claim 1 wherein said transition switch operates said second motor speed control block above five percent of rated machine speed.
 9. A sensorless method of controlling an electric motor comprising: providing a low speed rotor angular position block operating in a controller; providing a high speed rotor angular position block operating in said controller; providing an initial rotor polarity detection block operating in said controller; transitioning between said low speed rotor angular position block and said high speed rotor angular position block to determine the speed of the electric motor; and controlling the speed of the electric motor with six step operation.
 10. The method of claim 9 further comprising operating the electric motor in a vehicle.
 11. The method of claim 9 further comprising the step of determining the rotor magnet position of the electric motor in a static state.
 12. A powertrain for a vehicle comprising: an electric motor functionally coupled to a wheel of the vehicle; an inverter for providing power to the electric motor; a controller for controlling said inverter; a low speed control block to estimate the rotor angular position using stator current components operating in said controller; a high speed control block to estimate the rotor angular position using stator current components and stator flux position operating in said controller; a transition switch in said controller to vary operation between said low speed control block and said second high speed control block; and wherein said inverter is controlled by six step operation.
 13. The powertrain of claim 12 wherein said electric motor is an induction motor.
 14. The powertrain of claim 12 wherein said electric motor is an interior permanent magnet motor.
 15. The powertrain of claim 12 wherein said electric motor is a synchronous reluctance motor.
 16. The powertrain of claim 12 wherein said electric motor is a three-phase motor.
 17. The powertrain of claim 12 wherein said transition module varies operation between said first control module and said second control module based on the speed of the electric motor.
 18. The powertrain of claim 12 wherein the electric motor includes an interior permanent magnet rotor. 